#include <stdio.h>
#include <windows.h>
#include <stdbool.h>
#include <stdlib.h>

//void swap(int *p, int *q)
//{
//	*p ^= *q;
//	*q ^= *p;
//	*p ^= *q;
//}
//
//void bubblesort(int a[], int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz - 1; i++){
//		int j, flag = 1;
//		for (j = 0; j < sz - 1 - i; j++)
//		if (a[j]>a[j + 1]){
//			swap(&a[j], &a[j + 1]);
//			flag = 0;
//		}
//		if (flag){
//			break;
//		}
//	}
//}
//
//_bool containsduplicate(int* nums, int numssize){
//	bubblesort(nums, numssize);
//	int i = 0, j = 1;
//	while (numssize){
//		if (nums[i] == nums[j]){
//			return true;
//		}
//		i++, j++;
//		numssize--;
//	}
//	return false;
//}
//

int compare(const void * p, const void * q)
{
	int a = *(int*)p, b = *(int*)q;
	return a - b;
}

bool containsduplicate(int* nums, int numssize){
	qsort(nums, numssize, sizeof(int), compare);
	for (int i = 0; i < numssize - 1; i++){
		if (nums[i] == nums[i + 1]){
			return true;
		}
	}
	return false;
}

int main()
{
	int arr[] = { 1, 1, 3, 4, 2 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	printf("%d\n", containsduplicate(arr, sz));
	system("pause");
}



